home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 April / Chip_2002-04_cd1.bin / zkuste / delphi / kolekce / d3456 / BFC.ZIP / bfc / FileCheck demo / FileChk.pas < prev   
Pascal/Delphi Source File  |  2000-12-29  |  5KB  |  167 lines

  1. unit FileChk;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   Db, DBTables, StdCtrls, Buttons, ExtCtrls, ComCtrls, DBLists, Mask,
  8.   ToolEdit, BFC_FileCheck, ShellApi, ShlObj, BFC_Utils;
  9.  
  10. type
  11.   TFM_Reindex = class(TForm)
  12.     GroupBox1: TGroupBox;
  13.     GroupBox2: TGroupBox;
  14.     LBX_NIndex: TListBox;
  15.     GroupBox3: TGroupBox;
  16.     LBX_WIndex: TListBox;
  17.     BT_Plus: TButton;
  18.     BT_PlusA: TButton;
  19.     BT_Min: TButton;
  20.     BT_MinA: TButton;
  21.     GB_Keuze: TGroupBox;
  22.     GroupBox6: TGroupBox;
  23.     CB_Pack: TCheckBox;
  24.     CB_ReIndex1: TCheckBox;
  25.     Panel1: TPanel;
  26.     BT_Start: TBitBtn;
  27.     Label1: TLabel;
  28.     LB_TeIndex: TLabel;
  29.     Label2: TLabel;
  30.     LB_GeIndex: TLabel;
  31.     CB_Struct: TCheckBox;
  32.     GroupBox4: TGroupBox;
  33.     CB_Leeg: TCheckBox;
  34.     CB_ReIndex2: TCheckBox;
  35.     CB_IniData: TCheckBox;
  36.     GroupBox5: TGroupBox;
  37.     CB_Conversie: TCheckBox;
  38.     CB_Heropbouw: TCheckBox;
  39.     FC: TBFC_FileCheck;
  40.     Panel2: TPanel;
  41.     ProgressBar1: TProgressBar;
  42.     Label3: TLabel;
  43.     GroupBox7: TGroupBox;
  44.     DirectoryEdit1: TDirectoryEdit;
  45.     DirectoryEdit2: TDirectoryEdit;
  46.     Label4: TLabel;
  47.     Label5: TLabel;
  48.     procedure FormShow(Sender: TObject);
  49.     procedure BT_PlusClick(Sender: TObject);
  50.     procedure BT_MinClick(Sender: TObject);
  51.     procedure BT_PlusAClick(Sender: TObject);
  52.     procedure BT_MinAClick(Sender: TObject);
  53.     procedure BT_StartClick(Sender: TObject);
  54.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  55.     procedure DirectoryEdit1Change(Sender: TObject);
  56.   private
  57.     { Private declarations }
  58.   public
  59.   SelectDir : String;
  60.   procedure initialiseer;
  61.     { Public declarations }
  62.   end;
  63.  
  64. var
  65.   FM_Reindex: TFM_Reindex;
  66.  
  67. implementation
  68.  
  69. {$R *.DFM}
  70.  
  71. procedure TFM_Reindex.FormShow(Sender: TObject);
  72. begin
  73.  Selectdir := DirectoryEdit1.Text;
  74.  Initialiseer;
  75. end;
  76.  
  77. procedure TFM_Reindex.BT_PlusClick(Sender: TObject);
  78. begin
  79.  if LBX_Nindex.ItemIndex <> -1 then
  80.   begin
  81.     LBX_Windex.Items.Append(LBX_Nindex.Items[LBX_Nindex.Itemindex]);
  82.     LBX_NIndex.Items.Delete(LBX_Nindex.Itemindex);
  83.     LB_TeIndex.Caption := IntToStr(LBX_WIndex.items.count);
  84.   end;
  85. end;
  86.  
  87. procedure TFM_Reindex.BT_MinClick(Sender: TObject);
  88. begin
  89.  if LBX_Windex.ItemIndex <> -1 then
  90.   begin
  91.     LBX_Nindex.Items.Append(LBX_Windex.Items[LBX_Windex.Itemindex]);
  92.     LBX_WIndex.Items.Delete(LBX_Windex.Itemindex);
  93.     LB_TeIndex.Caption := IntToStr(LBX_WIndex.items.count);
  94.   end;
  95. end;
  96.  
  97. procedure TFM_Reindex.BT_PlusAClick(Sender: TObject);
  98. begin
  99.  LBX_Windex.Items.AddStrings(LBX_NIndex.items);
  100.  LBX_NIndex.Clear;
  101.  LB_TeIndex.Caption := IntToStr(LBX_WIndex.items.count);
  102. end;
  103.  
  104. procedure TFM_Reindex.BT_MinAClick(Sender: TObject);
  105. begin
  106.  LBX_Nindex.Items.AddStrings(LBX_WIndex.items);
  107.  LBX_WIndex.Clear;
  108.  LB_TeIndex.Caption := IntToStr(LBX_WIndex.items.count);
  109. end;
  110.  
  111. procedure TFM_Reindex.BT_StartClick(Sender: TObject);
  112. var teller : Integer;
  113. begin
  114.  Lb_GeIndex.caption := IntToStr(LBX_Windex.Items.Count);
  115.  Try
  116.   for teller := 0 to LBX_Windex.Items.Count -1 do
  117.    begin
  118.     FC.DBIDirectory := DirectoryEdit2.Text;
  119.     FC.FileName := Normaldir(Selectdir)+LBX_Windex.items[Teller];
  120.     FC.Pack := CB_Pack.Checked;
  121.     FC.RebuildIndex := CB_Reindex1.Checked;
  122.     FC.NewIndex := CB_Reindex2.Checked;
  123.     FC.RebuildFile := CB_Heropbouw.Checked;
  124.     FC.NewFile := CB_Leeg.Checked;
  125.     FC.CtrlStruct := CB_Struct.Checked;
  126.     FC.MakeIni := CB_Inidata.Checked;
  127.     FC.ProgramVersion := ProgrammaInfo('Fileversion');
  128.     FC.ProgramName := ProgrammaInfo('ProductName');
  129.     FC.Progressbar := Progressbar1;
  130.     FC.BusyLabel := Label3;
  131.     FC.StartCheck;
  132.     Lb_GeIndex.caption := IntToStr(teller+1);
  133.     update;
  134.    end;
  135.  finally
  136.  end;
  137.  If CB_Conversie.Checked then
  138.   begin
  139.    If FileExists(Normaldir(SelectDir)+'Old*.*') then
  140.     Win95Erase(self.Handle,NormalDir(SelectDir) + 'Old*.*', True, False, False);
  141.    Initialiseer;
  142.   end;
  143.  OK_Infobericht('End check !','Info');
  144.  Label3.Caption := '(C) 2000 Biets Freddy';
  145.  Progressbar1.Position := 0;
  146. end;
  147.  
  148. procedure TFM_Reindex.FormClose(Sender: TObject; var Action: TCloseAction);
  149. begin
  150.  Action := caFree;
  151. end;
  152.  
  153. procedure TFM_Reindex.Initialiseer;
  154. begin
  155.  Vul_bestanden(NormalDir(SelectDir)+'*.db*', LBX_NIndex.items , False);
  156.  Lbx_WIndex.Items.Clear;
  157.  DirectoryEdit1.Text := Selectdir;
  158. end;
  159.  
  160. procedure TFM_Reindex.DirectoryEdit1Change(Sender: TObject);
  161. begin
  162.  Selectdir := DirectoryEdit1.Text;
  163.  Initialiseer;
  164. end;
  165.  
  166. end.
  167.